Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Return expected version in the RTR server error PDU on mismatch. #280

Merged
merged 6 commits into from
Jan 16, 2024

Conversation

partim
Copy link
Member

@partim partim commented Jan 12, 2024

This PR changes the version reported by the RTR server in the header of the RTR error PDU when a request has an invalid version. It returns the maximum supported version if a version hasn’t been negotiated yet. It returns the negotiated version if the client uses a different version after negotiation.

This fixes Routinator issue 919.

@partim partim requested a review from a team January 12, 2024 10:56
Co-authored-by: Luuk Hendriks <github@luukhendriks.eu>
@partim partim merged commit 90801f6 into main Jan 16, 2024
24 checks passed
@partim partim deleted the rtr-server-version-negotiation-fix branch January 16, 2024 12:45
partim added a commit that referenced this pull request Jan 17, 2024
Bug fixes

* The RTR server now returns the expected protocol version in the version
  negotiation error message rather than the requested version. ([#280])
* The RTR server does not accept protocol version 2 for now to avoid
  sending illegal ASPA PDUs. This is a workaround until the final format
  of the PDU is specified. ([#281])
* Fixed protocol version negotiation in the RTR client. It will now error
  out if the server responds with a version greater than the requested one
  rather just accepting it. ([#282])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Initial version negotiation is broken because of bad error PDU version
3 participants